/**
 * 
 */
package edu.pw.treegrid.server.filter;

import java.util.Set;

import edu.pw.treegrid.server.query.ColumnNode;
import edu.pw.treegrid.server.query.QueryTree;

/** 
 * Klasa analogiczna do EqualsFilter z tym, że ta bierze docelową kolumnę, a nie klucz główny
 * 
 * @author Mateusz
 */
public class NotNullFilter extends SimpleFilter {

	public void generateWhere(QueryTree queryTree, StringBuilder sb) {
		Set<ColumnNode> nodes = queryTree.getColumnNodesForReportColumn(this
				.getReportColumn());
		for (ColumnNode cn : nodes) {
			if((nodes.size() == 2 && !cn.isIdColumn()) || nodes.size() == 1) {
				sb.append(cn.getExpressionString());
				sb.append(" is not NULL");
			}
		}
	}

	@Override
	public OperatorType getOperatorType() {
		return OperatorType.NOTNULL;
	}
}